In the automation field, and more specifically during operational machine planning for a plant, an engineer traditionally creates a model that describes which machines will later be involved in the plant operation phase. Referring to FIG. 1A, the mechanical machine operation model 120 contains a detailed description of each step that each machine 115 performs in the operational process, as well as how those steps interact. The model is traditionally created in the form of a sequence diagram that shows machine behavior over time in a graphical format. Today, software tools provide meta-models for describing mechanical machine operation models and allow convenient graphical creation and editing of those mechanical models.
In order to program digital controllers to operate the machines, the mechanical machine operation model 120 is traditionally given to an engineer that is familiar with programmable logic controller (PLC) programming and he or she abstracts the mechanical model at 125 and creates at 127 a PLC program 128 that realizes the requirements described in the mechanical model 120. For example, the logic may include logic for starting/stopping signals for the machines in the correct timing, as well as safety critical features such as interlocks and timeout detection. The engineer typically adds sensors and actuators to the mechanical information as those are often missing in the mechanical model as provided to the engineer.
The abstraction of the mechanical model depends on the programming method the engineer chooses. Examples of methods for programming a PLC include STL (an assembler like language for Siemens PLCs), Ladder Logic and Step Chain Programming, the most advanced of the three. If a user chooses STL, the user must do the most abstraction since he must formulate a program with only basic instructions. For ladder logic, the user is assisted by a ladder diagram visual display of the logic. For step chain programming, the user must identify the steps in the program based on the mechanical description (i.e., the sequence diagram) and determine the exact sequence of the steps in the PLC, as well as identify the need for input signal conditions.
In each case, those traditional systems may be error-prone due to the required manual abstraction and the complexities faced by the engineer, and may be time-consuming for the same reasons. There is therefore presently a need for an improved technique of abstraction for use in formulating a PLC program from a mechanical machine operation model.